package dancetwotiktokenumsmysql

const (
	DanceComposePropChangeLogChangeTypeAdd     = 1 //增加
	DanceComposePropChangeLogChangeTypeReduced = 2 //减少

	DanceComposePropChangeLogSourceDirectDrawPrize                         = 1
	DanceComposePropChangeLogSourceChangeDrawPrize                         = 2  //抽奖兑换获得
	DanceComposePropChangeLogSourceAddSplinter                             = 3  //补发添加
	DanceComposePropChangeLogSourceCutSplinter                             = 4  //补发减少
	DanceComposePropChangeLogSourceGiftPackageActivity                     = 5  //礼包活动
	DanceComposePropChangeLogSourceSingleWeekRank                          = 6  //个人周榜
	DanceComposePropChangeLogSourceCoupleWeekRank                          = 7  //CP周榜
	DanceComposePropChangeLogSourcePrizeDrawCPGift                         = 8  //抽奖CP赠送
	DanceComposePropChangeLogSourceGiftPackCPGift                          = 9  //礼包CP赠送
	DanceComposePropChangeLogSourceRedPacketActivityFortuneCardCompound    = 10 // 红包活动合成福卡
	DanceComposePropChangeLogSourceRedPacketActivityDrawPrize              = 11 // 红包抽奖获得
	DanceComposePropChangeLogSourceRedPacketActivityValentinesDayRoomPrize = 12 // 情人节活动日榜获得
	DanceComposePropChangeLogSourceRedPacketActivityValentinesDayAllPrize  = 13 // 情人节活动全服榜获得
	DanceComposePropChangeLogSourceSingleDayRank                           = 14 //个人日榜
	DanceComposePropChangeLogSourceSingleHourRank                          = 15 //个人小时榜
	DanceComposePropChangeLogSourceAllGiftWeekRank                         = 16 //全服礼物周榜发放
	DanceComposePropChangeLogSourceCoupleDayRank                           = 17 //双人日榜发放
	DanceComposePropChangeLogSourceCoupleHourRank                          = 18 //双人小时榜发放
	DanceComposePropChangeLogSourceSingleScoreCC                           = 19 //单人周榜冲刺发奖
	DanceComposePropChangeLogSourceCoupleScoreCC                           = 20 //双人周榜冲刺发奖
	DanceComposePropChangeLogSourceGiftFirstPay                            = 21 //首充发奖
	DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizes               = 22 //抽奖保底发奖
	DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizesGive           = 23 //抽奖保底发奖赠送
	DanceComposePropChangeLogSourceSignIn                                  = 24 //签到发奖
	DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizes            = 25 //抽奖大保底发奖
	DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizesGive        = 26 //抽奖大保底发奖赠送
	DanceComposePropChangeLogSourceCumulativeSignIn                        = 27 //累计签到发奖
	DanceComposePropChangeLogSourceShardChange                             = 28 //碎片兑换获得

)

type DanceComposePropChangeLogEnums struct {
}

var DanceComposePropChangeLogEnumsObject DanceComposePropChangeLogEnums

func (e DanceComposePropChangeLogEnums) SourceType() []int {
	return []int{
		DanceComposePropChangeLogSourceDirectDrawPrize,
		DanceComposePropChangeLogSourceChangeDrawPrize,
		DanceComposePropChangeLogSourceAddSplinter,
		DanceComposePropChangeLogSourceCutSplinter,
		DanceComposePropChangeLogSourceGiftPackageActivity,
		DanceComposePropChangeLogSourceSingleWeekRank,
		DanceComposePropChangeLogSourceCoupleWeekRank,
		DanceComposePropChangeLogSourcePrizeDrawCPGift,
		DanceComposePropChangeLogSourceGiftPackCPGift,
		DanceComposePropChangeLogSourceRedPacketActivityFortuneCardCompound,
		DanceComposePropChangeLogSourceRedPacketActivityDrawPrize,
		DanceComposePropChangeLogSourceRedPacketActivityValentinesDayRoomPrize,
		DanceComposePropChangeLogSourceRedPacketActivityValentinesDayAllPrize,
		DanceComposePropChangeLogSourceSingleDayRank,
		DanceComposePropChangeLogSourceSingleHourRank,
		DanceComposePropChangeLogSourceAllGiftWeekRank,
		DanceComposePropChangeLogSourceCoupleDayRank,
		DanceComposePropChangeLogSourceCoupleHourRank,
		DanceComposePropChangeLogSourceSingleScoreCC,
		DanceComposePropChangeLogSourceCoupleScoreCC,
		DanceComposePropChangeLogSourceGiftFirstPay,
		DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizes,
		DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizesGive,
		DanceComposePropChangeLogSourceSignIn,
		DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizes,
		DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizesGive,
		DanceComposePropChangeLogSourceCumulativeSignIn,
		DanceComposePropChangeLogSourceShardChange,
	}
}

func (e DanceComposePropChangeLogEnums) SourceMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.SourceType() {
		m[s] = e.SourceString(s)
	}
	return m
}

func (e DanceComposePropChangeLogEnums) SourceString(tag int) string {
	switch tag {
	case DanceComposePropChangeLogSourceDirectDrawPrize:
		return "抽奖直接获得"
	case DanceComposePropChangeLogSourceChangeDrawPrize:
		return "抽奖兑换获得"
	case DanceComposePropChangeLogSourceAddSplinter:
		return "补发添加"
	case DanceComposePropChangeLogSourceCutSplinter:
		return "补发减少"
	case DanceComposePropChangeLogSourceGiftPackageActivity:
		return "礼包活动"
	case DanceComposePropChangeLogSourceSingleWeekRank:
		return "个人周榜"
	case DanceComposePropChangeLogSourceCoupleWeekRank:
		return "CP周榜"
	case DanceComposePropChangeLogSourcePrizeDrawCPGift:
		return "抽奖CP赠送"
	case DanceComposePropChangeLogSourceGiftPackCPGift:
		return "礼包CP赠送"
	case DanceComposePropChangeLogSourceRedPacketActivityFortuneCardCompound:
		return "红包活动合成福卡"
	case DanceComposePropChangeLogSourceRedPacketActivityDrawPrize:
		return "红包抽奖获得"
	case DanceComposePropChangeLogSourceRedPacketActivityValentinesDayRoomPrize:
		return "情人节活动日榜获得"
	case DanceComposePropChangeLogSourceRedPacketActivityValentinesDayAllPrize:
		return "情人节活动全服榜获得"
	case DanceComposePropChangeLogSourceSingleDayRank:
		return "个人日榜"
	case DanceComposePropChangeLogSourceSingleHourRank:
		return "个人小时榜"
	case DanceComposePropChangeLogSourceAllGiftWeekRank:
		return "全服礼物周榜发放"
	case DanceComposePropChangeLogSourceCoupleDayRank:
		return "双人日榜发放"
	case DanceComposePropChangeLogSourceCoupleHourRank:
		return "双人小时榜发放"
	case DanceComposePropChangeLogSourceSingleScoreCC:
		return "单人周榜冲刺发奖"
	case DanceComposePropChangeLogSourceCoupleScoreCC:
		return "双人周榜冲刺发奖"
	case DanceComposePropChangeLogSourceGiftFirstPay:
		return "首充发奖"
	case DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizes:
		return "抽奖保底发奖"
	case DanceComposePropChangeLogSourceLuckyDrawGuaranteedPrizesGive:
		return "抽奖保底发奖赠送"
	case DanceComposePropChangeLogSourceSignIn:
		return "签到发奖"
	case DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizes:
		return "抽奖大保底发奖"
	case DanceComposePropChangeLogSourceLuckyDrawBigGuaranteedPrizesGive:
		return "抽奖大保底发奖赠送"
	case DanceComposePropChangeLogSourceCumulativeSignIn:
		return "累计签到发奖"
	case DanceComposePropChangeLogSourceShardChange:
		return "碎片兑换获得"
	default:
		return "其他"
	}
}

func (e DanceComposePropChangeLogEnums) ChangeType() []int {
	return []int{
		DanceComposePropChangeLogChangeTypeAdd,
		DanceComposePropChangeLogChangeTypeReduced,
	}
}

func (e DanceComposePropChangeLogEnums) ChangeTypeMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.ChangeType() {
		m[s] = e.ChangeTypeString(s)
	}
	return m
}

func (e DanceComposePropChangeLogEnums) ChangeTypeString(tag int) string {
	switch tag {
	case DanceComposePropChangeLogChangeTypeAdd:
		return "增加"
	case DanceComposePropChangeLogChangeTypeReduced:
		return "减少"
	default:
		return "其他"
	}
}
